1 CLR:DIM F$(150),FT(150),FS(150) 5 POKE53280,12:POKE53281,12 8 PRINT"[147][144] [146]"; 9 PRINT" LOADSTAR PRESENTS [146]"; 10 PRINT" [146]"; 11 PRINT" FILE VERIFIER [146]"; 12 PRINT" [146]"; 13 PRINT" BY SHAWN ORT (C)1986 [146]"; 14 PRINT" [146]"; 15 PRINT"NOTES:":PRINT"+ = NORMAL USED TRACK AND SECTOR" 16 PRINT"+[144] = TWO OR MORE FILES USE THE SAME BLOCK"; 17 PRINT"*[144] = DISK ERROR IN FILE" 18 PRINT" INSERT DISK WITH FILES TO" 19 PRINT" VERIFY AND PRESS SPACE TO CONTINUE" 20 PRINT" PRESS RETURN TO EXIT TO LOADSTAR" 21 PRINT" HOLD DOWN Q TO QUIT VERIFYING" 22 GETA$:IFA$=""THEN22 23 IFA$=CHR$(13) THEN 30 25 IFA$=" "THEN 100 26 GOTO22 30 PRINT"[145] DO YOU WISH TO QUIT? (Y/N) " 31 GETA$:IFA$=""THEN31 32 IFA$="[217]"ORA$="Y"THEN40 33 IFA$="N"ORA$="[206]"THENPRINT"[145][145]";:GOTO20 34 GOTO 31 40 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 41 IFER<>63 THEN PRINT"[147]":END 45 LOAD"HELLO CONNECT",8,1 100 : 102 PRINT"READING THE DIRECTORY..." 103 PRINT"PLEASE WAIT..." 105 OPEN15,8,15,"I0":CLOSE15 110 OPEN1,8,2,"$" 115 FORX=1TO250:GET#1,A$:NEXTX 120 X=0 125 : 130 GET#1,A$:A$=A$+CHR$(0):IFASC(A$)=0THEN130 135 TF=ASC(A$):TF=TF-128:IF TF>4THENCLOSE1:GOTO200 140 GET#1,A$:A$=A$+CHR$(0):T=ASC(A$) 145 GET#1,A$:A$=A$+CHR$(0):S=ASC(A$) 150 FT(X)=T:FS(X)=S:FF$="" 155 GET#1,A$:A$=A$+CHR$(0):IFA$<>CHR$(0)THENFF$=FF$+A$:GOTO155 160 F$(X)=FF$ 165 FORXX=0TO8:GET#1,A$:NEXTXX 170 X=X+1:GOTO130 200 : 205 GOSUB1000 210 FORF=0TOX-1 214 POKE781,0:SYS59903 215 PRINT"FILE TO VERIFY: ";F$(F) 216 PRINT"BLOCKS USED: ";B;" [Q[144]]UIT"; 220 OPEN15,8,15:OPEN5,8,5,"#" 225 PRINT#15,"U1:"5;0;FT(F);FS(F) 230 GET#5,T$:T=ASC(T$+CHR$(0)) 235 GET#5,S$:S=ASC(S$+CHR$(0)) 237 IF T=0THENT=FT(F):S=FS(F):GOSUB2000:GOTO280 238 TT=T:SS=S:T=FT(F):S=FS(F):GOSUB2000 239 T=TT:S=SS 240 GOTO 265 245 : 250 PRINT#15,"U1:"5;0;T;S 251 IFPEEK(203)=62THENF=X-1:GOTO280 252 TT=T:SS=S 255 GET#5,T$:T=ASC(T$+CHR$(0)) 260 GET#5,S$:S=ASC(S$+CHR$(0)) 265 INPUT#15,A$:IFA$<>"00"THEN ER=255:T=TT:S=SS:GOSUB2000:GOTO 280 270 IF T=0 THEN GOTO 280 271 IFT>35ORS>20THEN ER=255:T=TT:S=SS:GOSUB2000:GOTO 280 272 GOSUB2000 275 GOTO250 280 CLOSE5:CLOSE15:NEXT F 285 POKE781,0:SYS59903 288 PRINT"BLOCKS USED: ";B 290 PRINT"DONE, PRESS ANY KEY WHEN READY." 295 GETA$:IFA$=""THEN295 300 RUN 1000 PRINT"[147]20 ::::::::::::::::::" 1001 PRINT"19 ::::::::::::::::::" 1002 PRINT"18 :::::::::::" 1003 PRINT"17 :::::" 1004 PRINT"16" 1005 PRINT"15" 1006 PRINT"14" 1007 PRINT"13" 1008 PRINT"12" 1009 PRINT"11" 1010 PRINT"10" 1011 PRINT" 9" 1012 PRINT" 8" 1013 PRINT" 7" 1014 PRINT" 6" 1015 PRINT" 5" 1016 PRINT" 4" 1017 PRINT" 3" 1018 PRINT" 2" 1019 PRINT" 1" 1020 PRINT" 0" 1021 PRINT" 00000000011111111112222222222333333" 1022 PRINT" 12345678901234567890123456789012345[144]"; 1025 RETURN 2000 : 2001 INPUT#15,A$ 2002 IF T>35 OR S>20 THEN POKE53280,6:FOR RT=1TO20:NEXTRT:POKE53280,12:RETURN 2003 B=B+1:A=43:C=0 2004 IFER=255THENER=0:A=42:C=1:GOTO2005 2005 P=PEEK(1905+T+(S*-40)) 2006 IF P=42 OR P=43 THENA=43:C=1 2007 POKE1905+T+(S*-40),A 2008 POKE56177+T+(S*-40),C 2010 RETURN